package com.miku.blog.service;

import com.miku.blog.domain.pojo.ResponseResult;
import com.miku.blog.domain.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.miku.blog.domain.dto.RoleDTO;
import com.miku.blog.domain.vo.UserVo;

import java.util.List;

/**
* @author Miku
* @description 针对表【tb_role】的数据库操作Service
* @createDate 2022-05-26 17:14:49
*/
public interface RoleService extends IService<Role> {


    /**
     * 获取角色列表接口 {用户列表编辑菜单}
     * @return
     */
    ResponseResult getRoleList();

    /**
     * 修改用户角色列表 及 其昵称
     * @param roleIdList
     * @return
     */
    boolean updateRole(List<Integer> roleIdList,Integer userId);

    /**
     * 获取角色列表接口 {角色管理菜单}
     * @param current
     * @param size
     * @param keywords
     * @return
     */
    ResponseResult getRoles(Integer current, Integer size, String keywords);

    /**
     * 禁用/启用 角色
     * @param roleId 角色ID
     * @param isDisable 禁用/启用
     * @return
     */
    ResponseResult disable(Integer roleId, Integer isDisable);

    /**
     * 删除角色 (物理)
     * @param roleIdList
     * @return
     */
    ResponseResult deleteRole(Integer[] roleIdList);

    /**
     * 新增角色
     * @param roleDTO
     * @return
     */
    ResponseResult addRole(RoleDTO roleDTO);


    /**
     * 根据角色标签获取角色信息
     * @param label
     * @return
     */
    Role getRoleByRoleLabel(String label);
}
